﻿<?xml version="1.0" encoding="utf-8" ?>

<configuration>

	<!-- Library.Dao.[0] Dao.[1] Properties -->
	<properties>
		<assembly.project.core>Bosphorus.Integration.Jira.Thor.Core</assembly.project.core>
		<assembly.project.dal>Bosphorus.Integration.Jira.Thor.Dal</assembly.project.dal>

		<namespace.project.core.model.domain>Bosphorus.Integration.Jira.Thor.Core.Model.Domain</namespace.project.core.model.domain>
		<namespace.project.dal.model.dao>Bosphorus.Integration.Jira.Thor.Dal.Dao.Model</namespace.project.dal.model.dao>
	</properties>

	<!-- Library.Dao.[0] Dao.[2] Dao Declarations-->
	<components>

		<!-- Library.Dao.[0] Dao.[3] NHibernate.[1] SessionFactory.[1] ConfigurationProvider -->
		<component id='dao.nhibernate.sessionfactory.configurator'
				service='Bosphorus.Library.Dao.NHibernate.Model.Session.Configurator.ISessionFactoryConfigurator, Bosphorus.Library.Dao.NHibernate'
				 type='Bosphorus.Library.Dao.NHibernate.Model.Session.Configurator.ResourceConfigurator, Bosphorus.Library.Dao.NHibernate'>
			<parameters>
				<assemblyName>#{assembly.project.dal}</assemblyName>,
				<resourceName>#{assembly.project.dal}.NHibernate.Session.Thor.cfg.xml</resourceName>
			</parameters>
		</component>

		<!-- Library.Dao.[0] Dao.[3] NHibernate.[1] SessionFactory -->
		<component id='dao.nhibernate.sessionfactory'
			   service='Bosphorus.Library.Dao.NHibernate.Model.Session.INHibernateSessionFactory, Bosphorus.Library.Dao.NHibernate'
			   type='Bosphorus.Library.Dao.NHibernate.Model.Session.NHibernateSessionFactory, Bosphorus.Library.Dao.NHibernate'/>

		<!-- Library.Dao.[0] Dao.[3] NHibernate.[1] Session -->
		<component id='session.nhibernate.adapter'
				  service='Bosphorus.Library.Dao.Core.Model.Session.ISession, Bosphorus.Library.Dao.Core'
				  type='Bosphorus.Library.Dao.NHibernate.Model.Session.NHibernateSessionAdapter, Bosphorus.Library.Dao.NHibernate'
				  lifestyle='transient'>
			<parameters>
				<name>Default Session</name>
			</parameters>
		</component>

		<!-- Library.Dao.[0] Dao.[3] NHibernate -->
		<component id='dao.nhibernate.generic'
				 service='Bosphorus.Library.Dao.Core.Model.Dao.IDao`1, Bosphorus.Library.Dao.Core'
				   type='Bosphorus.Library.Dao.NHibernate.Model.Dao.GenericNHibernateDao`1, Bosphorus.Library.Dao.NHibernate'/>


		<!-- Library.Dao.[0] Dao.[1] Custom Dao.Issue -->
		<component id='IssueDao'
				   service='Bosphorus.Library.Dao.Core.Model.Dao.IDao`1[[#{namespace.project.core.model.domain}.Issue, #{assembly.project.core}]], Bosphorus.Library.Dao.Core'
				   type='#{namespace.project.dal.model.dao}.IssueDao, #{assembly.project.dal}'/>

	

	</components>

</configuration>
